package com.ruifu.doc.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.fhzncloud.cloud.common.security.service.CloudUser;
import com.ruifu.common.po.DmDocVer;
import com.ruifu.doc.dto.docver.DmDocVerQueryDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * @author lcq
 */
@Mapper
public interface DmDocVerMapper extends BaseMapper<DmDocVer> {
    /**
     * 联合查询
     * @param dmDocVerQueryDTO
     * @param cloudUser
     * @return
     */
    List<DmDocVer> findByQuery(@Param("dmDocVerQueryDTO") DmDocVerQueryDTO dmDocVerQueryDTO, @Param("cloudUser") CloudUser cloudUser);

    /**
     * 新建
     * @param dmDocVer
     * @param cloudUser
     */
    void insert(@Param("dmDocVer") DmDocVer dmDocVer, @Param("cloudUser") CloudUser cloudUser);

    /**
     * 根据文件id修改新文件id
     * @param oldFiFileId
     * @param newFiFileId
     * @param cloudUser
     */
    void updateByDvFileId(@Param("oldFiFileId") Long oldFiFileId, @Param("newFiFileId") Long newFiFileId, @Param("cloudUser") CloudUser cloudUser);

    /**
     * 根据版本id查询文档详情
     * @param dvDvId
     * @return
     */
    DmDocVer findById(@Param("dvDvId") Long dvDvId);


    /**
     * 根据版本id查询文档详情(已删除 )
     * @param dvDvId
     * @return
     */
    DmDocVer findByIdAndDelete(@Param("dvDvId") Long dvDvId);
    /**
     * 修改
     * @param dmDocVer
     * @param cloudUser
     */
    void update(@Param("dmDocVer") DmDocVer dmDocVer, @Param("cloudUser") CloudUser cloudUser);

    /**
     * 修改发布状态
     * @param dmDocStatus
     */
    void updateDmDocStatus(@Param("DvDvId") String DvDvId,@Param("dmDocStatus") int dmDocStatus);

}
